/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.folha.utilidades;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;

/**
 *
 * @author marceloml
 */
public class dataValidator implements Validator{

    @Override
    public void validate(FacesContext context, UIComponent component,Object value) throws ValidatorException {
        
        FacesMessage msg = null;
        
        UIInput dataComponent = (UIInput) component.getAttributes().get("data_nascimento");
        String  dataNascimento = (String) dataComponent.getValue();
        
        if(isDateValid(dataNascimento) == false){
            msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Data não é valida!", null);
            context.getCurrentInstance().addMessage(null, msg);
        }
                        
    }
    
private boolean isDateValid(String date){  
    SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");  
    df.setLenient(false);  
        try {  
            df.parse(date);  
            return true;  
        } catch (ParseException ex) {  
            return false;  
        }  
 }    
    
}
